package com.duobaoyu.dby.supply.biz.service.config;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.duobaoyu.dby.supply.common.biz.bo.config.OperationLogBO;
import com.duobaoyu.dby.supply.common.biz.dto.config.OperationLogListDTO;
import com.duobaoyu.dby.supply.common.biz.dto.config.OperationLogPageQueryDTO;
import com.duobaoyu.dby.supply.common.biz.dto.config.OperationLogSaveDTO;

import java.util.List;

/**
 * @author chenms
 * @date 2023/10/21 2:25 PM
 */
public interface OperationLogService {

    /**
     * 保存操作日志
     */
    boolean save(OperationLogSaveDTO operationLogSave);

    /**
     * 异步保存操作日志
     * @param operationLogSaveDTO
     * @return
     */
    void asyncSave(OperationLogSaveDTO operationLogSave);

    /**
     * 异步批量保存日志
     * @param operationLogSaveDTO
     * @return
     */
    void asyncBatchSave(List<OperationLogSaveDTO> operationLogSave);

    /**
     * 分页查询操作日志
     * @param operationLogPageQueryDTO
     * @return
     */
    Page<OperationLogBO> queryPage(OperationLogPageQueryDTO operationLogPageQuery);


    /**
     * 日志列表
     * @param logListDTO 查询条件
     * @return
     */
    List<OperationLogBO> list(OperationLogListDTO operationLogList);
}
